package com.groupfour.attendancemanagementsystem.service;
/**
 * @version: V1.0
 * @author: 章珑赢
 * @className: GroupRatingService
 * @packageName: service.impl
 * @description: 小组评分
 * @data: 2022/4/23
 */
import com.groupfour.attendancemanagementsystem.entity.VO.DepartmentAndGroupVO;
import com.groupfour.attendancemanagementsystem.entity.VO.GroupDetailVO;
import com.groupfour.attendancemanagementsystem.entity.VO.GroupRatingVO;
import com.groupfour.attendancemanagementsystem.entity.VO.HomeWorkDetailsVO;

import java.util.List;
import java.util.Map;

public interface GroupRatingService {
    /**
     * @version: V1.0
     * @author: 章珑赢
     * @methodsName: SelectAllGroupRating
     * @description: 查询所有小组评分
     * @param:  无
     * @return: Object
     * @throws: 无
     **/
    Map<String,Object> SelectAllGroupRating(Integer pageNum, Integer pageSize, String userCode);
    /**
     * @version: V1.0
     * @author: 章珑赢
     * @methodsName: SelectByProjectNameOrGroupName
     * @description: 根据项目名称或小组名称查询所有小组评分
     * @param:  projectName(项目名称)，groupName(小组评分)
     * @return: Object
     * @throws: 无
     **/
    Map<String,Object> SelectGroupRating(String projectName, String groupName,Integer pageNum,Integer pageSize,String userCode);
    /**
     * @version: V1.0
     * @author: 章珑赢
     * @methodsName: SelectGroupDetails
     * @description: 查询小组的详情
     * @param:  groupCode（小组编号）
     * @return: Object
     * @throws: 无
     **/
    GroupDetailVO SelectGroupDetails(String groupCode);
    /**
     * @version: V1.0
     * @author: 章珑赢
     * @methodsName: SelectHomeWorks
     * @description: 查询小组的作业信息
     * @param:  groupCode（小组编号）
     * @return: Object
     * @throws: 无
     **/
    Map<String,Object> SelectHomeWorks(String groupCode,String studentCode,Integer pageNum,Integer pageSize);
    /**
     * @version: V1.0
     * @author: 章珑赢
     * @methodsName: DoPersonalGradeAndComment
     * @description: 进行小组打分和评论
     * @param:  groupCode（小组编号），groupSyntnesisScore（小组分数），groupComment（小组评论）
     * @return: boolean
     * @throws: 无
     **/
    boolean DoGroupGradeAndComment(String groupSyntnesisScore, String groupComment, String groupCode);
    /**
     * @version: V1.0
     * @author: 章珑赢
     * @methodsName: selectDepartmentAndGroup
     * @description: 进行小组打分和评论
     * @param:  无
     * @return: Result
     * @throws: 无
     **/
    DepartmentAndGroupVO selectCourseAndGroup();
}
